package com.waypolice.pojo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class CmsWarehouseRackExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CmsWarehouseRackExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria implements Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("ID is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("ID is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("ID =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("ID <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("ID >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ID >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("ID <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("ID <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("ID in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("ID not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("ID between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ID not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andWarNameIsNull() {
            addCriterion("WAR_NAME is null");
            return (Criteria) this;
        }

        public Criteria andWarNameIsNotNull() {
            addCriterion("WAR_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andWarNameEqualTo(String value) {
            addCriterion("WAR_NAME =", value, "warName");
            return (Criteria) this;
        }

        public Criteria andWarNameNotEqualTo(String value) {
            addCriterion("WAR_NAME <>", value, "warName");
            return (Criteria) this;
        }

        public Criteria andWarNameGreaterThan(String value) {
            addCriterion("WAR_NAME >", value, "warName");
            return (Criteria) this;
        }

        public Criteria andWarNameGreaterThanOrEqualTo(String value) {
            addCriterion("WAR_NAME >=", value, "warName");
            return (Criteria) this;
        }

        public Criteria andWarNameLessThan(String value) {
            addCriterion("WAR_NAME <", value, "warName");
            return (Criteria) this;
        }

        public Criteria andWarNameLessThanOrEqualTo(String value) {
            addCriterion("WAR_NAME <=", value, "warName");
            return (Criteria) this;
        }

        public Criteria andWarNameLike(String value) {
            addCriterion("WAR_NAME like", value, "warName");
            return (Criteria) this;
        }

        public Criteria andWarNameNotLike(String value) {
            addCriterion("WAR_NAME not like", value, "warName");
            return (Criteria) this;
        }

        public Criteria andWarNameIn(List<String> values) {
            addCriterion("WAR_NAME in", values, "warName");
            return (Criteria) this;
        }

        public Criteria andWarNameNotIn(List<String> values) {
            addCriterion("WAR_NAME not in", values, "warName");
            return (Criteria) this;
        }

        public Criteria andWarNameBetween(String value1, String value2) {
            addCriterion("WAR_NAME between", value1, value2, "warName");
            return (Criteria) this;
        }

        public Criteria andWarNameNotBetween(String value1, String value2) {
            addCriterion("WAR_NAME not between", value1, value2, "warName");
            return (Criteria) this;
        }

        public Criteria andWarNumberIsNull() {
            addCriterion("WAR_NUMBER is null");
            return (Criteria) this;
        }

        public Criteria andWarNumberIsNotNull() {
            addCriterion("WAR_NUMBER is not null");
            return (Criteria) this;
        }

        public Criteria andWarNumberEqualTo(String value) {
            addCriterion("WAR_NUMBER =", value, "warNumber");
            return (Criteria) this;
        }

        public Criteria andWarNumberNotEqualTo(String value) {
            addCriterion("WAR_NUMBER <>", value, "warNumber");
            return (Criteria) this;
        }

        public Criteria andWarNumberGreaterThan(String value) {
            addCriterion("WAR_NUMBER >", value, "warNumber");
            return (Criteria) this;
        }

        public Criteria andWarNumberGreaterThanOrEqualTo(String value) {
            addCriterion("WAR_NUMBER >=", value, "warNumber");
            return (Criteria) this;
        }

        public Criteria andWarNumberLessThan(String value) {
            addCriterion("WAR_NUMBER <", value, "warNumber");
            return (Criteria) this;
        }

        public Criteria andWarNumberLessThanOrEqualTo(String value) {
            addCriterion("WAR_NUMBER <=", value, "warNumber");
            return (Criteria) this;
        }

        public Criteria andWarNumberLike(String value) {
            addCriterion("WAR_NUMBER like", value, "warNumber");
            return (Criteria) this;
        }

        public Criteria andWarNumberNotLike(String value) {
            addCriterion("WAR_NUMBER not like", value, "warNumber");
            return (Criteria) this;
        }

        public Criteria andWarNumberIn(List<String> values) {
            addCriterion("WAR_NUMBER in", values, "warNumber");
            return (Criteria) this;
        }

        public Criteria andWarNumberNotIn(List<String> values) {
            addCriterion("WAR_NUMBER not in", values, "warNumber");
            return (Criteria) this;
        }

        public Criteria andWarNumberBetween(String value1, String value2) {
            addCriterion("WAR_NUMBER between", value1, value2, "warNumber");
            return (Criteria) this;
        }

        public Criteria andWarNumberNotBetween(String value1, String value2) {
            addCriterion("WAR_NUMBER not between", value1, value2, "warNumber");
            return (Criteria) this;
        }

        public Criteria andPkNumberIsNull() {
            addCriterion("PK_NUMBER is null");
            return (Criteria) this;
        }

        public Criteria andPkNumberIsNotNull() {
            addCriterion("PK_NUMBER is not null");
            return (Criteria) this;
        }

        public Criteria andPkNumberEqualTo(String value) {
            addCriterion("PK_NUMBER =", value, "pkNumber");
            return (Criteria) this;
        }

        public Criteria andPkNumberNotEqualTo(String value) {
            addCriterion("PK_NUMBER <>", value, "pkNumber");
            return (Criteria) this;
        }

        public Criteria andPkNumberGreaterThan(String value) {
            addCriterion("PK_NUMBER >", value, "pkNumber");
            return (Criteria) this;
        }

        public Criteria andPkNumberGreaterThanOrEqualTo(String value) {
            addCriterion("PK_NUMBER >=", value, "pkNumber");
            return (Criteria) this;
        }

        public Criteria andPkNumberLessThan(String value) {
            addCriterion("PK_NUMBER <", value, "pkNumber");
            return (Criteria) this;
        }

        public Criteria andPkNumberLessThanOrEqualTo(String value) {
            addCriterion("PK_NUMBER <=", value, "pkNumber");
            return (Criteria) this;
        }

        public Criteria andPkNumberLike(String value) {
            addCriterion("PK_NUMBER like", value, "pkNumber");
            return (Criteria) this;
        }

        public Criteria andPkNumberNotLike(String value) {
            addCriterion("PK_NUMBER not like", value, "pkNumber");
            return (Criteria) this;
        }

        public Criteria andPkNumberIn(List<String> values) {
            addCriterion("PK_NUMBER in", values, "pkNumber");
            return (Criteria) this;
        }

        public Criteria andPkNumberNotIn(List<String> values) {
            addCriterion("PK_NUMBER not in", values, "pkNumber");
            return (Criteria) this;
        }

        public Criteria andPkNumberBetween(String value1, String value2) {
            addCriterion("PK_NUMBER between", value1, value2, "pkNumber");
            return (Criteria) this;
        }

        public Criteria andPkNumberNotBetween(String value1, String value2) {
            addCriterion("PK_NUMBER not between", value1, value2, "pkNumber");
            return (Criteria) this;
        }

        public Criteria andRackBoxCapacityIsNull() {
            addCriterion("RACK_BOX_CAPACITY is null");
            return (Criteria) this;
        }

        public Criteria andRackBoxCapacityIsNotNull() {
            addCriterion("RACK_BOX_CAPACITY is not null");
            return (Criteria) this;
        }

        public Criteria andRackBoxCapacityEqualTo(Integer value) {
            addCriterion("RACK_BOX_CAPACITY =", value, "rackBoxCapacity");
            return (Criteria) this;
        }

        public Criteria andRackBoxCapacityNotEqualTo(Integer value) {
            addCriterion("RACK_BOX_CAPACITY <>", value, "rackBoxCapacity");
            return (Criteria) this;
        }

        public Criteria andRackBoxCapacityGreaterThan(Integer value) {
            addCriterion("RACK_BOX_CAPACITY >", value, "rackBoxCapacity");
            return (Criteria) this;
        }

        public Criteria andRackBoxCapacityGreaterThanOrEqualTo(Integer value) {
            addCriterion("RACK_BOX_CAPACITY >=", value, "rackBoxCapacity");
            return (Criteria) this;
        }

        public Criteria andRackBoxCapacityLessThan(Integer value) {
            addCriterion("RACK_BOX_CAPACITY <", value, "rackBoxCapacity");
            return (Criteria) this;
        }

        public Criteria andRackBoxCapacityLessThanOrEqualTo(Integer value) {
            addCriterion("RACK_BOX_CAPACITY <=", value, "rackBoxCapacity");
            return (Criteria) this;
        }

        public Criteria andRackBoxCapacityIn(List<Integer> values) {
            addCriterion("RACK_BOX_CAPACITY in", values, "rackBoxCapacity");
            return (Criteria) this;
        }

        public Criteria andRackBoxCapacityNotIn(List<Integer> values) {
            addCriterion("RACK_BOX_CAPACITY not in", values, "rackBoxCapacity");
            return (Criteria) this;
        }

        public Criteria andRackBoxCapacityBetween(Integer value1, Integer value2) {
            addCriterion("RACK_BOX_CAPACITY between", value1, value2, "rackBoxCapacity");
            return (Criteria) this;
        }

        public Criteria andRackBoxCapacityNotBetween(Integer value1, Integer value2) {
            addCriterion("RACK_BOX_CAPACITY not between", value1, value2, "rackBoxCapacity");
            return (Criteria) this;
        }

        public Criteria andRackBoxCountIsNull() {
            addCriterion("RACK_BOX_COUNT is null");
            return (Criteria) this;
        }

        public Criteria andRackBoxCountIsNotNull() {
            addCriterion("RACK_BOX_COUNT is not null");
            return (Criteria) this;
        }

        public Criteria andRackBoxCountEqualTo(Integer value) {
            addCriterion("RACK_BOX_COUNT =", value, "rackBoxCount");
            return (Criteria) this;
        }

        public Criteria andRackBoxCountNotEqualTo(Integer value) {
            addCriterion("RACK_BOX_COUNT <>", value, "rackBoxCount");
            return (Criteria) this;
        }

        public Criteria andRackBoxCountGreaterThan(Integer value) {
            addCriterion("RACK_BOX_COUNT >", value, "rackBoxCount");
            return (Criteria) this;
        }

        public Criteria andRackBoxCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("RACK_BOX_COUNT >=", value, "rackBoxCount");
            return (Criteria) this;
        }

        public Criteria andRackBoxCountLessThan(Integer value) {
            addCriterion("RACK_BOX_COUNT <", value, "rackBoxCount");
            return (Criteria) this;
        }

        public Criteria andRackBoxCountLessThanOrEqualTo(Integer value) {
            addCriterion("RACK_BOX_COUNT <=", value, "rackBoxCount");
            return (Criteria) this;
        }

        public Criteria andRackBoxCountIn(List<Integer> values) {
            addCriterion("RACK_BOX_COUNT in", values, "rackBoxCount");
            return (Criteria) this;
        }

        public Criteria andRackBoxCountNotIn(List<Integer> values) {
            addCriterion("RACK_BOX_COUNT not in", values, "rackBoxCount");
            return (Criteria) this;
        }

        public Criteria andRackBoxCountBetween(Integer value1, Integer value2) {
            addCriterion("RACK_BOX_COUNT between", value1, value2, "rackBoxCount");
            return (Criteria) this;
        }

        public Criteria andRackBoxCountNotBetween(Integer value1, Integer value2) {
            addCriterion("RACK_BOX_COUNT not between", value1, value2, "rackBoxCount");
            return (Criteria) this;
        }

        public Criteria andRackOperatePersonIsNull() {
            addCriterion("RACK_OPERATE_PERSON is null");
            return (Criteria) this;
        }

        public Criteria andRackOperatePersonIsNotNull() {
            addCriterion("RACK_OPERATE_PERSON is not null");
            return (Criteria) this;
        }

        public Criteria andRackOperatePersonEqualTo(String value) {
            addCriterion("RACK_OPERATE_PERSON =", value, "rackOperatePerson");
            return (Criteria) this;
        }

        public Criteria andRackOperatePersonNotEqualTo(String value) {
            addCriterion("RACK_OPERATE_PERSON <>", value, "rackOperatePerson");
            return (Criteria) this;
        }

        public Criteria andRackOperatePersonGreaterThan(String value) {
            addCriterion("RACK_OPERATE_PERSON >", value, "rackOperatePerson");
            return (Criteria) this;
        }

        public Criteria andRackOperatePersonGreaterThanOrEqualTo(String value) {
            addCriterion("RACK_OPERATE_PERSON >=", value, "rackOperatePerson");
            return (Criteria) this;
        }

        public Criteria andRackOperatePersonLessThan(String value) {
            addCriterion("RACK_OPERATE_PERSON <", value, "rackOperatePerson");
            return (Criteria) this;
        }

        public Criteria andRackOperatePersonLessThanOrEqualTo(String value) {
            addCriterion("RACK_OPERATE_PERSON <=", value, "rackOperatePerson");
            return (Criteria) this;
        }

        public Criteria andRackOperatePersonLike(String value) {
            addCriterion("RACK_OPERATE_PERSON like", value, "rackOperatePerson");
            return (Criteria) this;
        }

        public Criteria andRackOperatePersonNotLike(String value) {
            addCriterion("RACK_OPERATE_PERSON not like", value, "rackOperatePerson");
            return (Criteria) this;
        }

        public Criteria andRackOperatePersonIn(List<String> values) {
            addCriterion("RACK_OPERATE_PERSON in", values, "rackOperatePerson");
            return (Criteria) this;
        }

        public Criteria andRackOperatePersonNotIn(List<String> values) {
            addCriterion("RACK_OPERATE_PERSON not in", values, "rackOperatePerson");
            return (Criteria) this;
        }

        public Criteria andRackOperatePersonBetween(String value1, String value2) {
            addCriterion("RACK_OPERATE_PERSON between", value1, value2, "rackOperatePerson");
            return (Criteria) this;
        }

        public Criteria andRackOperatePersonNotBetween(String value1, String value2) {
            addCriterion("RACK_OPERATE_PERSON not between", value1, value2, "rackOperatePerson");
            return (Criteria) this;
        }

        public Criteria andRackMaintenancePersonIsNull() {
            addCriterion("RACK_MAINTENANCE_PERSON is null");
            return (Criteria) this;
        }

        public Criteria andRackMaintenancePersonIsNotNull() {
            addCriterion("RACK_MAINTENANCE_PERSON is not null");
            return (Criteria) this;
        }

        public Criteria andRackMaintenancePersonEqualTo(String value) {
            addCriterion("RACK_MAINTENANCE_PERSON =", value, "rackMaintenancePerson");
            return (Criteria) this;
        }

        public Criteria andRackMaintenancePersonNotEqualTo(String value) {
            addCriterion("RACK_MAINTENANCE_PERSON <>", value, "rackMaintenancePerson");
            return (Criteria) this;
        }

        public Criteria andRackMaintenancePersonGreaterThan(String value) {
            addCriterion("RACK_MAINTENANCE_PERSON >", value, "rackMaintenancePerson");
            return (Criteria) this;
        }

        public Criteria andRackMaintenancePersonGreaterThanOrEqualTo(String value) {
            addCriterion("RACK_MAINTENANCE_PERSON >=", value, "rackMaintenancePerson");
            return (Criteria) this;
        }

        public Criteria andRackMaintenancePersonLessThan(String value) {
            addCriterion("RACK_MAINTENANCE_PERSON <", value, "rackMaintenancePerson");
            return (Criteria) this;
        }

        public Criteria andRackMaintenancePersonLessThanOrEqualTo(String value) {
            addCriterion("RACK_MAINTENANCE_PERSON <=", value, "rackMaintenancePerson");
            return (Criteria) this;
        }

        public Criteria andRackMaintenancePersonLike(String value) {
            addCriterion("RACK_MAINTENANCE_PERSON like", value, "rackMaintenancePerson");
            return (Criteria) this;
        }

        public Criteria andRackMaintenancePersonNotLike(String value) {
            addCriterion("RACK_MAINTENANCE_PERSON not like", value, "rackMaintenancePerson");
            return (Criteria) this;
        }

        public Criteria andRackMaintenancePersonIn(List<String> values) {
            addCriterion("RACK_MAINTENANCE_PERSON in", values, "rackMaintenancePerson");
            return (Criteria) this;
        }

        public Criteria andRackMaintenancePersonNotIn(List<String> values) {
            addCriterion("RACK_MAINTENANCE_PERSON not in", values, "rackMaintenancePerson");
            return (Criteria) this;
        }

        public Criteria andRackMaintenancePersonBetween(String value1, String value2) {
            addCriterion("RACK_MAINTENANCE_PERSON between", value1, value2, "rackMaintenancePerson");
            return (Criteria) this;
        }

        public Criteria andRackMaintenancePersonNotBetween(String value1, String value2) {
            addCriterion("RACK_MAINTENANCE_PERSON not between", value1, value2, "rackMaintenancePerson");
            return (Criteria) this;
        }

        public Criteria andCtimeIsNull() {
            addCriterion("CTIME is null");
            return (Criteria) this;
        }

        public Criteria andCtimeIsNotNull() {
            addCriterion("CTIME is not null");
            return (Criteria) this;
        }

        public Criteria andCtimeEqualTo(Date value) {
            addCriterionForJDBCDate("CTIME =", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("CTIME <>", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeGreaterThan(Date value) {
            addCriterionForJDBCDate("CTIME >", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("CTIME >=", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeLessThan(Date value) {
            addCriterionForJDBCDate("CTIME <", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("CTIME <=", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeIn(List<Date> values) {
            addCriterionForJDBCDate("CTIME in", values, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("CTIME not in", values, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("CTIME between", value1, value2, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("CTIME not between", value1, value2, "ctime");
            return (Criteria) this;
        }

        public Criteria andMtimeIsNull() {
            addCriterion("MTIME is null");
            return (Criteria) this;
        }

        public Criteria andMtimeIsNotNull() {
            addCriterion("MTIME is not null");
            return (Criteria) this;
        }

        public Criteria andMtimeEqualTo(Date value) {
            addCriterionForJDBCDate("MTIME =", value, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("MTIME <>", value, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeGreaterThan(Date value) {
            addCriterionForJDBCDate("MTIME >", value, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("MTIME >=", value, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeLessThan(Date value) {
            addCriterionForJDBCDate("MTIME <", value, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("MTIME <=", value, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeIn(List<Date> values) {
            addCriterionForJDBCDate("MTIME in", values, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("MTIME not in", values, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("MTIME between", value1, value2, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("MTIME not between", value1, value2, "mtime");
            return (Criteria) this;
        }

        public Criteria andRaOneIsNull() {
            addCriterion("RA_ONE is null");
            return (Criteria) this;
        }

        public Criteria andRaOneIsNotNull() {
            addCriterion("RA_ONE is not null");
            return (Criteria) this;
        }

        public Criteria andRaOneEqualTo(String value) {
            addCriterion("RA_ONE =", value, "raOne");
            return (Criteria) this;
        }

        public Criteria andRaOneNotEqualTo(String value) {
            addCriterion("RA_ONE <>", value, "raOne");
            return (Criteria) this;
        }

        public Criteria andRaOneGreaterThan(String value) {
            addCriterion("RA_ONE >", value, "raOne");
            return (Criteria) this;
        }

        public Criteria andRaOneGreaterThanOrEqualTo(String value) {
            addCriterion("RA_ONE >=", value, "raOne");
            return (Criteria) this;
        }

        public Criteria andRaOneLessThan(String value) {
            addCriterion("RA_ONE <", value, "raOne");
            return (Criteria) this;
        }

        public Criteria andRaOneLessThanOrEqualTo(String value) {
            addCriterion("RA_ONE <=", value, "raOne");
            return (Criteria) this;
        }

        public Criteria andRaOneLike(String value) {
            addCriterion("RA_ONE like", value, "raOne");
            return (Criteria) this;
        }

        public Criteria andRaOneNotLike(String value) {
            addCriterion("RA_ONE not like", value, "raOne");
            return (Criteria) this;
        }

        public Criteria andRaOneIn(List<String> values) {
            addCriterion("RA_ONE in", values, "raOne");
            return (Criteria) this;
        }

        public Criteria andRaOneNotIn(List<String> values) {
            addCriterion("RA_ONE not in", values, "raOne");
            return (Criteria) this;
        }

        public Criteria andRaOneBetween(String value1, String value2) {
            addCriterion("RA_ONE between", value1, value2, "raOne");
            return (Criteria) this;
        }

        public Criteria andRaOneNotBetween(String value1, String value2) {
            addCriterion("RA_ONE not between", value1, value2, "raOne");
            return (Criteria) this;
        }

        public Criteria andRaTwoIsNull() {
            addCriterion("RA_TWO is null");
            return (Criteria) this;
        }

        public Criteria andRaTwoIsNotNull() {
            addCriterion("RA_TWO is not null");
            return (Criteria) this;
        }

        public Criteria andRaTwoEqualTo(String value) {
            addCriterion("RA_TWO =", value, "raTwo");
            return (Criteria) this;
        }

        public Criteria andRaTwoNotEqualTo(String value) {
            addCriterion("RA_TWO <>", value, "raTwo");
            return (Criteria) this;
        }

        public Criteria andRaTwoGreaterThan(String value) {
            addCriterion("RA_TWO >", value, "raTwo");
            return (Criteria) this;
        }

        public Criteria andRaTwoGreaterThanOrEqualTo(String value) {
            addCriterion("RA_TWO >=", value, "raTwo");
            return (Criteria) this;
        }

        public Criteria andRaTwoLessThan(String value) {
            addCriterion("RA_TWO <", value, "raTwo");
            return (Criteria) this;
        }

        public Criteria andRaTwoLessThanOrEqualTo(String value) {
            addCriterion("RA_TWO <=", value, "raTwo");
            return (Criteria) this;
        }

        public Criteria andRaTwoLike(String value) {
            addCriterion("RA_TWO like", value, "raTwo");
            return (Criteria) this;
        }

        public Criteria andRaTwoNotLike(String value) {
            addCriterion("RA_TWO not like", value, "raTwo");
            return (Criteria) this;
        }

        public Criteria andRaTwoIn(List<String> values) {
            addCriterion("RA_TWO in", values, "raTwo");
            return (Criteria) this;
        }

        public Criteria andRaTwoNotIn(List<String> values) {
            addCriterion("RA_TWO not in", values, "raTwo");
            return (Criteria) this;
        }

        public Criteria andRaTwoBetween(String value1, String value2) {
            addCriterion("RA_TWO between", value1, value2, "raTwo");
            return (Criteria) this;
        }

        public Criteria andRaTwoNotBetween(String value1, String value2) {
            addCriterion("RA_TWO not between", value1, value2, "raTwo");
            return (Criteria) this;
        }

        public Criteria andRaThreeIsNull() {
            addCriterion("RA_THREE is null");
            return (Criteria) this;
        }

        public Criteria andRaThreeIsNotNull() {
            addCriterion("RA_THREE is not null");
            return (Criteria) this;
        }

        public Criteria andRaThreeEqualTo(String value) {
            addCriterion("RA_THREE =", value, "raThree");
            return (Criteria) this;
        }

        public Criteria andRaThreeNotEqualTo(String value) {
            addCriterion("RA_THREE <>", value, "raThree");
            return (Criteria) this;
        }

        public Criteria andRaThreeGreaterThan(String value) {
            addCriterion("RA_THREE >", value, "raThree");
            return (Criteria) this;
        }

        public Criteria andRaThreeGreaterThanOrEqualTo(String value) {
            addCriterion("RA_THREE >=", value, "raThree");
            return (Criteria) this;
        }

        public Criteria andRaThreeLessThan(String value) {
            addCriterion("RA_THREE <", value, "raThree");
            return (Criteria) this;
        }

        public Criteria andRaThreeLessThanOrEqualTo(String value) {
            addCriterion("RA_THREE <=", value, "raThree");
            return (Criteria) this;
        }

        public Criteria andRaThreeLike(String value) {
            addCriterion("RA_THREE like", value, "raThree");
            return (Criteria) this;
        }

        public Criteria andRaThreeNotLike(String value) {
            addCriterion("RA_THREE not like", value, "raThree");
            return (Criteria) this;
        }

        public Criteria andRaThreeIn(List<String> values) {
            addCriterion("RA_THREE in", values, "raThree");
            return (Criteria) this;
        }

        public Criteria andRaThreeNotIn(List<String> values) {
            addCriterion("RA_THREE not in", values, "raThree");
            return (Criteria) this;
        }

        public Criteria andRaThreeBetween(String value1, String value2) {
            addCriterion("RA_THREE between", value1, value2, "raThree");
            return (Criteria) this;
        }

        public Criteria andRaThreeNotBetween(String value1, String value2) {
            addCriterion("RA_THREE not between", value1, value2, "raThree");
            return (Criteria) this;
        }

        public Criteria andRaFourIsNull() {
            addCriterion("RA_FOUR is null");
            return (Criteria) this;
        }

        public Criteria andRaFourIsNotNull() {
            addCriterion("RA_FOUR is not null");
            return (Criteria) this;
        }

        public Criteria andRaFourEqualTo(String value) {
            addCriterion("RA_FOUR =", value, "raFour");
            return (Criteria) this;
        }

        public Criteria andRaFourNotEqualTo(String value) {
            addCriterion("RA_FOUR <>", value, "raFour");
            return (Criteria) this;
        }

        public Criteria andRaFourGreaterThan(String value) {
            addCriterion("RA_FOUR >", value, "raFour");
            return (Criteria) this;
        }

        public Criteria andRaFourGreaterThanOrEqualTo(String value) {
            addCriterion("RA_FOUR >=", value, "raFour");
            return (Criteria) this;
        }

        public Criteria andRaFourLessThan(String value) {
            addCriterion("RA_FOUR <", value, "raFour");
            return (Criteria) this;
        }

        public Criteria andRaFourLessThanOrEqualTo(String value) {
            addCriterion("RA_FOUR <=", value, "raFour");
            return (Criteria) this;
        }

        public Criteria andRaFourLike(String value) {
            addCriterion("RA_FOUR like", value, "raFour");
            return (Criteria) this;
        }

        public Criteria andRaFourNotLike(String value) {
            addCriterion("RA_FOUR not like", value, "raFour");
            return (Criteria) this;
        }

        public Criteria andRaFourIn(List<String> values) {
            addCriterion("RA_FOUR in", values, "raFour");
            return (Criteria) this;
        }

        public Criteria andRaFourNotIn(List<String> values) {
            addCriterion("RA_FOUR not in", values, "raFour");
            return (Criteria) this;
        }

        public Criteria andRaFourBetween(String value1, String value2) {
            addCriterion("RA_FOUR between", value1, value2, "raFour");
            return (Criteria) this;
        }

        public Criteria andRaFourNotBetween(String value1, String value2) {
            addCriterion("RA_FOUR not between", value1, value2, "raFour");
            return (Criteria) this;
        }

        public Criteria andRaFiveIsNull() {
            addCriterion("RA_FIVE is null");
            return (Criteria) this;
        }

        public Criteria andRaFiveIsNotNull() {
            addCriterion("RA_FIVE is not null");
            return (Criteria) this;
        }

        public Criteria andRaFiveEqualTo(String value) {
            addCriterion("RA_FIVE =", value, "raFive");
            return (Criteria) this;
        }

        public Criteria andRaFiveNotEqualTo(String value) {
            addCriterion("RA_FIVE <>", value, "raFive");
            return (Criteria) this;
        }

        public Criteria andRaFiveGreaterThan(String value) {
            addCriterion("RA_FIVE >", value, "raFive");
            return (Criteria) this;
        }

        public Criteria andRaFiveGreaterThanOrEqualTo(String value) {
            addCriterion("RA_FIVE >=", value, "raFive");
            return (Criteria) this;
        }

        public Criteria andRaFiveLessThan(String value) {
            addCriterion("RA_FIVE <", value, "raFive");
            return (Criteria) this;
        }

        public Criteria andRaFiveLessThanOrEqualTo(String value) {
            addCriterion("RA_FIVE <=", value, "raFive");
            return (Criteria) this;
        }

        public Criteria andRaFiveLike(String value) {
            addCriterion("RA_FIVE like", value, "raFive");
            return (Criteria) this;
        }

        public Criteria andRaFiveNotLike(String value) {
            addCriterion("RA_FIVE not like", value, "raFive");
            return (Criteria) this;
        }

        public Criteria andRaFiveIn(List<String> values) {
            addCriterion("RA_FIVE in", values, "raFive");
            return (Criteria) this;
        }

        public Criteria andRaFiveNotIn(List<String> values) {
            addCriterion("RA_FIVE not in", values, "raFive");
            return (Criteria) this;
        }

        public Criteria andRaFiveBetween(String value1, String value2) {
            addCriterion("RA_FIVE between", value1, value2, "raFive");
            return (Criteria) this;
        }

        public Criteria andRaFiveNotBetween(String value1, String value2) {
            addCriterion("RA_FIVE not between", value1, value2, "raFive");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria implements Serializable {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}